Many companies, such as those in the healthcare industry, rely on information systems to run their businesses. Information systems are used to store, process and exchange information between offices and employees. For example, a single company in the medical industry may have a billing system, payroll system, a health information system, an insurance information system, a picture or medical image archiving and communication system, an employee scheduling system as well as other systems.
Moreover, with evolving technology and new problems being presented, it is common for the companies to deploy new information systems to handle newly computerized tasks associated with the business. Similarly, new companies are formed, others fail, and businesses merge creating new companies with even more information systems that are often incompatible with each other. It is further common for companies and governmental agencies to exchange information between each other electronically. Here also, it is required to have heterogeneous information systems exchanging data with each other.
All of these different information systems should ideally be able to communicate with each other and share information even if the information is only entered into one system. In reality, however, different information systems are difficult to integrate because they are often implemented at different times and created or supplied by different vendors. The result is a collection of incompatible information systems unable to exchange information.
To help resolve the problem of incompatibility, many industries have developed electronic data interchange standards such as Electronic Data Interchange (EDI), Society for Worldwide Interbank Financial Telecommunications (SWIFT), American National Standards Institute Accredited Standards Committee X12 (X12), or Health Level 7 (HL7). These electronic data interchange standards provide guidelines for how information is exchanged between different computer systems. In a typical implementation, the data are structured in a hierarchical tree to represent the hierarchical nature of the data stored within a data source.
Generally, different industries will often employ different electronic interface standards because different industries need to store and exchange different data. Moreover, the different electronic data interchanges are customized for the industry in which they are used. For example, the SWIFT standard is generally only used in the financial industry and the HL7 standard is generally only used in the medical industry. The reason is because financial institutions would not need to exchange patient information or medical reports, but they do need to exchange information such as the originating bank, the destination bank, and the amount of money transferred in a financial transaction.
Additionally, even when two information systems or organizations are both following the prescribed guidelines of an electronic data interchange standard, there will still be scenarios where the information from one system is not in a compatible format with the information from another system or organization. To resolve the issue of incompatible information, companies will implement middleware. Middleware typically does not add functionality to any of the systems, rather it serves as an intermediary or glue between different systems to help integrate systems that would otherwise be incompatible. It functions to map information from one information system to target variables of another information system.
FIG. 1 provides an example of a graphic user interface (GUI) of computer software 200-A that is used to map information. The GUI is used to map data from one computer system to another by defining a target variable that will receive the data from another system. In more detail, the right hand window 202 shows a series nodes or fields from a data source. In this example, the data source is HL7 messages used in the medical industry. In the left side window 204 is a table that shows which target variables are being mapped to which field of the data sources. This matching process must be repeated for every target variable and corresponding field of the data source for sharing information between systems.
In theory, a GUI seems like the best approach to perform the process of mapping the data source to the target variables. Generally, a GUI is intuitive and easy to use for most users and very little programming knowledge is required. And in the rare cases where information needs to be further manipulated, a code window 200-B as shown in FIG. 1A is provided to allow users to create short scripts as needed. The illustrated example is a script 201 for transforming a ten digit phone number into the area code, prefix, and line number.